A redundant array of inexpensive disks (RAID) process refers to a process by which a computing system may store data throughout a storage medium, such as an array of disk drives, so that at least portions of the data may be recovered should part of the storage medium fail. A processor in such a computing system may execute algorithms that determine the appropriate parity bit and location for the data to be stored. However, in large computing systems that frequently store data to disk drives, the burden on this processor to perform the RAID process may be significant. Because of this burden, the computing system may have reduced computing resources available for other tasks.
To reduce the burden on the processor, Intelligent Input/Output (I2O) controllers have been developed. Simply stated, I2O processors off-load responsibility for storing data on the disk drives from the processor so that the processor is available to perform other functions. Examples of implementing the I2O functions are described in the Intelligent Input/Output Architecture Specification, revision 1.5, published March 1997 by the I2O Special interest Group.
Nonetheless, there is a continuing need for better ways to improve the interaction between applications running on the processor and the disk drives in a computing system that is implementing a RAID data storage process.
Where considered appropriate, reference numerals have been repeated among the figures to indicate corresponding or analogous elements.